package com.czk.scala.chapter05

/**
 * 函数参数的定义
 *
 * @Author:ChenZhangKun
 * @Date: 2021/12/8 17:18
 */
object Test02_FunctionParameter {
  def main(args: Array[String]): Unit = {
    // 可变参数
    def f1(string: String*): Unit = {
      println(string)
    }
    // WrappedArray(czk, nzq)
    f1("czk", "nzq")

    // 多个参数放在参数最后一位
    def f2(i: Int, string: String*): Unit = {
      println(i.toString + string)
    }

    f2(1, "czk","nzq")

    // 参数的默认值，一般江有默认值的参数放在参数列表的最后面
    def f3(int: Int, name: String = "czk"): Unit = {
      println(int.toString + name)
    }

    f3(1)
    f3(1, "nzq")


    // 带参数名

    def f4(name: String, age: Int): Unit = {
      println(s"${name}的年龄时候${age}")
    }

    f4("czk", 27)

    def f5(name: String = "czk", age: Int): Unit = {
      println(s"${name}的年龄时候${age}")
    }

    f5(name = "kd", 25)
    // 跳过name
    f5(age = 14)
  }
}
